import { AutoIncrementId, Code, DateColumn, DateTime, Decimal, Desc, Digdit, Email, Entity, Int, Jsonb, Mobile, Money, PrimaryUuid, Realname, Title, Uuid } from "../utils";


@Entity({
    name: 'fj_order_dev'
})
export class FjOrderDev {
    @PrimaryUuid()
    id: string;

    @AutoIncrementId()
    order_id: number;

    @Code()
    tid: string;

    @Code()
    status: string;

    @Uuid()
    creater_user_id: string;

    @Code()
    from: string;

    @Uuid()
    company_id: string;

    @DateColumn()
    checkInDate: Date;

    @DateColumn()
    checkOutDate: Date;

    @DateTime()
    comeHoltelDate: Date;

    @Digdit({ default: 1 })
    count: number;

    @Code({ default: '' })
    country: string;

    @DateTime()
    orderDate: Date;

    @Decimal()
    totalPrice: number;

    @Decimal({ default: 0 })
    origin_price: number;

    @Realname()
    realname: string;

    @Mobile()
    mobile: string;

    @Email()
    email: string;

    @Jsonb()
    guestList: any;

    @Int()
    hotelid: number;

    @Title()
    hotel_name: string;

    @Code()
    cityCode: string;

    @Jsonb()
    hotel: any;

    @Code({ default: '' })
    reference_no: string;

    @Code({ default: '' })
    booking_id: string;

    @Code({ default: '' })
    addon: string;

    @Code({ default: '' })
    ota_tid: string;

    @Code({ default: '' })
    ota_hotelid: string;

    @Code({ default: '' })
    paytype: string;

    @Code({ default: '' })
    paysn: string;

    @DateTime({ nullable: true })
    paytime: Date;

    @DateTime({ nullable: true })
    cancel_time: Date;

    @DateTime({ nullable: true })
    refund_time: Date;

    @Code({ nullable: true })
    refund_sn: string;

    @Code({ nullable: true })
    refund_type: string;

    @Code({ nullable: true })
    cancel_status: string;

    @Desc({ default: '' })
    desc: string;
}
